/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 25228
 * Date: 2024-08-08
 * Time: 19:08
 */
class Solution3 {
    public boolean isSymmetric(TreeNode root) {
        if(root.left==null&&root.right==null){
            return true;
        }
        if(root.left==null&&root.right!=null||root.left!=null&&root.right==null){
            return false;
        }
        if(root.left.val!=root.right.val){
            return false;
        }
        boolean f=isMirror(root.left,root.right);
        return f;
    }


    public boolean isMirror(TreeNode rootL,TreeNode rootR){
        if(rootL==null&&rootR==null){
            return true;
        }
        if(rootL==null&&rootR!=null||rootL!=null&&rootR==null){
            return false;
        }
        if(rootL.val!=rootR.val){
            return false;
        }
        if(!isMirror(rootL.left,rootR.right)){
            return false;
        }else if(!isMirror(rootL.right,rootR.left)){
            return false;
        }
        return true;
    }
}
